home *** CD-ROM | disk | FTP | other *** search
- Path: keats.ugrad.cs.ubc.ca!not-for-mail
- From: c2a192@ugrad.cs.ubc.ca (Kazimir Kylheku)
- Newsgroups: comp.lang.ada,comp.lang.c,comp.lang.c++,comp.edu
- Subject: Re: ANSI C and POSIX (was Re: C/C++ knocks the crap out of Ada)
- Date: 9 Apr 1996 19:16:59 -0700
- Organization: Computer Science, University of B.C., Vancouver, B.C., Canada
- Message-ID: <4kf5mrINN47r@keats.ugrad.cs.ubc.ca>
- References: <JSA.96Feb16135027@organon.com> <dewar.829048603@schonberg> <4kdspcINN6ct@keats.ugrad.cs.ubc.ca> <dewar.829079393@schonberg>
- NNTP-Posting-Host: keats.ugrad.cs.ubc.ca
-
- In article <dewar.829079393@schonberg>, Robert Dewar <dewar@cs.nyu.edu> wrote:
- >Kazimir has now moved on to (perfectly reasonable) discussions of
- >sound programming practices, with which I of course do not disagree.
- >
- >But that was not what caused me to raise the read issue in the first
- >place. I used it merely as an example of a portability problem caused
- >by an unclear specification. Seems to me that Kazimir's failure to
- >find anything approximating a clear spec, and talk of unwritten
- >rules, means he agrees wit me :-)
-
- Right. The discussion was not of programming practices, but of implementation.
- I think this sums it up:
-
- Seebach and Myself: in the absence of clarity in a standard, as a programmer
- follow the best rational inference to the safest/weakest assumption; program
- defensively. Then you don't have to worry about which choice is made in the
- implementation.
-
- Dewar: in the absence of clarity in a standard, as an implementor, follow the
- pack. Look at what most implementations do, and stick to the unwritten
- standards of the community.
-
- As a programmer, if you do the former, you don't have to particularly worry
- whether an implementation does the latter. For example, because I don't assume
- that select() will not modify the timeval structure, I don't have to care
- whether it does or not.
-
- The trouble is that the combined effect of the two motivations results in
- nothing being done to fix the standards. Good programmers are careful anyway,
- so they don't care, and those who are not careful are forgiven by most of the
- implementations, so they don't care (or don't even know) either.
- --
-
-